package cn.tedu.reflect;

import java.lang.reflect.Field;

public class ClassDemo4 {
    public static void main(String[] args) throws NoSuchFieldException, IllegalAccessException {
        //
        Class<String> clz = String.class;

        //获取指定属性（私有化  打破了封装原则）
        //返回Field类的对象--具体属性
        Field f = clz.getDeclaredField("hash");

        //暴力破解
        f.setAccessible(true);

        //实例对象
        String str="abc";
        //输出哈希码值
        System.out.println(str.hashCode());

        //改变属性值
        //选择实例对象来修改属性值
        //str.hash=10
        f.set(str,10);

        //输出哈希码值
        System.out.println(str.hashCode());
        //获取属性值
        System.out.println(f.get(str));


    }
}
